package edu.service;

import edu.vo.Notice;

import java.util.List;
import java.util.Optional;

public interface NoticeService {
    /**
     * 保存通知信息
     * @param notice 通知对象
     * @return 保存后的通知对象
     */
    Notice saveNotice(Notice notice);

    /**
     * 根据ID获取通知信息
     * @param id 通知ID
     * @return 通知对象的Optional包装
     */
    Optional<Notice> getNoticeById(Integer id);

    /**
     * 获取所有通知信息
     * @return 通知列表
     */
    List<Notice> getAllNotices();

    /**
     * 根据ID删除通知信息
     * @param id 通知ID
     */
    void deleteNoticeById(Integer id);

    /**
     * 更新通知信息
     * @param id 通知ID
     * @param notice 新的通知信息
     * @return 更新后的通知对象
     */
    Notice updateNotice(Integer id, Notice notice);
}